package com.sinog.basic.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sinog.core.domain.Resource;
import com.sinog.core.model.Menu;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * @desc 系统管理 - 资源管理 - 资源管理 - ResourceMapper
 * @author -
 * @date -
 */
public interface ResourceMapper extends BaseMapper<Resource> {

    /**
     * 系统管理 - 资源管理 - 资源管理 - root 用户只能操作 系统管理的资源，系统管理模块不要使用配置的方式开发
     * @param account account
     * @param roles roles
     * @return List<Menu>
     */
    List<Menu> selectResouceMenu(@Param("account") String account,@Param("roles") List<String> roles);

    /**
     * 系统管理 - 资源管理 - 资源管理 - 查询资源ID
     * @param roles roles
     * @param id id
     * @return List<Resource>
     */
    List<Resource> selectResouce(@Param("roles") List<String> roles,@Param("id") Long id);

    /**
     * 系统管理 - 资源管理 - 资源管理 - 子资源列表
     * @param roles 角色列表
     * @param id 父资源id
     * @return 该资源下的子资源列表
     */
    List<Resource> selectresourcesHcsbResouce(@Param("roles") List<String> roles,@Param("id") Long id);

    /**
     * 获取角色资源列表
     * @param roleid roleid
     * @return List<Map<String,String>>
     */
    List<Map<String,String>> getRoleResourcesTree(@Param("roleid") String roleid);
}